package com.twetec.cms.model.vo.system;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.twetec.cms.model.vo.base.BaseVO;
import io.swagger.annotations.ApiModelProperty;

public class PermissionVO extends BaseVO {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "权限id", example = "12345646546")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "上级id", example = "12345646546")
    private Long pid;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "工会权限id", example = "12345646546")
    private Long unionPermissionId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "工会pid", example = "12345646546")
    private Long unionPid;

    @ApiModelProperty(value = "权限名称", example = "新增")
    private String name;

    @ApiModelProperty(value = "权限标识", example = "/add")
    private String slug;

    @ApiModelProperty(value = "类型 菜单:MENU 按钮:BUTTON", example = "MENU")
    private String type;

    @ApiModelProperty(value = "请求地址", example = "/add")
    private String httpPath;

    @Override
    public Long getId() {
        return id;
    }

    @Override
    public void setId(Long id) {
        this.id = id;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public Long getUnionPermissionId() {
        return unionPermissionId;
    }

    public void setUnionPermissionId(Long unionPermissionId) {
        this.unionPermissionId = unionPermissionId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSlug() {
        return slug;
    }

    public void setSlug(String slug) {
        this.slug = slug;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getHttpPath() {
        return httpPath;
    }

    public void setHttpPath(String httpPath) {
        this.httpPath = httpPath;
    }

    public Long getUnionPid() {
        return unionPid;
    }

    public void setUnionPid(Long unionPid) {
        this.unionPid = unionPid;
    }

    @Override
    public String toString() {
        return "PermissionVO{" +
                "id=" + id +
                ", pid=" + pid +
                ", unionPermissionId=" + unionPermissionId +
                ", unionPid=" + unionPid +
                ", name='" + name + '\'' +
                ", slug='" + slug + '\'' +
                ", type='" + type + '\'' +
                ", httpPath='" + httpPath + '\'' +
                '}';
    }
}
